package com.group01.service;

import com.group01.dto.User.*;
import com.group01.pojo.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.group01.result.PageTemplate;
import com.group01.result.Result;
import com.group01.vo.User.UserGetInfoByIdVO;
import com.group01.vo.User.UserGetPageVO;

/**
* @author 19559
* @description 针对表【es_user(用户表)】的数据库操作Service
* @createDate 2024-06-20 08:47:55
*/
public interface UserService extends IService<User> {

    PageTemplate<UserGetPageVO> getPage(Integer pageNum, Integer pageSize, String username, String status, String startTime, String endTime);

    Result<String> addUser(UserInsertInfoDTO userInsertInfoDTO);

    UserGetInfoByIdVO getUserById(Integer id);

    Result<UserGetInfoByIdVO> updateUserInfo(UserUpdateInfoDTO updateInfoDTO);

    Result<String> updateUserStatus(UserUpdateStatusDTO userUpdateStatusDTO);

    Result<String> deleteUsersByIds(String ids);

    Result<UserGetInfoByIdVO> getUserInfo();

    Result<String> register(RegisterDTO registerDTO);

    Result<String> updatePassword(UserUpdatePassDTO userUpdatePassDTO);
}
